Software code for improved in-band signaling for data communications over digital wireless telecommunications networks

ABSTRACT

An inband signaling modem communicates digital data over a voice channel of a wireless telecommunications network. An input receives digital data. An encoder converts the digital data into audio tones that synthesize frequency characteristics of human speech. The digital data is also encoded to prevent voice encoding circuitry in the telecommunications network from corrupting the synthesized audio tones representing the digital data. An output then outputs the synthesized audio tones to a voice channel of a digital wireless telecommunications network.

RELATED APPLICATIONS

This application is a divisional of U.S. application Ser. No. 09/531,367filed Mar. 21, 2000, now U.S. Pat. No. 6,690,681 which is a CIP of U.S.application Ser. No. 09/230,079, filed May 13, 1999, now U.S. Pat. No.6,144,336, issued Nov. 7, 2000, which is the U.S. national phaseapplication corresponding to International Application No.PCT/US98/10317, filed May 19, 1998, and claiming priority from U.S.Provisional Patent Application Nos. 60/047,034 filed on May 19, 1997;60/047,140 filed on May 20, 1997; 60/048,369 filed on Jun. 3, 1997;60/048,385 filed on Jun. 3, 1997; and 60/055,497 filed on Aug. 12, 1997.

TECHNICAL FIELD

This invention is related to wireless telecommunications and morespecifically to a system that transmits digital data over the audiochannel of a digital wireless network “in-band.”

BACKGROUND OF THE INVENTION

A cellular telephone allows a user to talk to another user without beingtethered to a “land line.” The cell phone includes circuitry thatsamples the audio signals from the user's voice. These voice signals areconverted into a digital form using an A–D converter. The digitizedvoice signals are encoded by a voice coder (vocoder) and then modulatedonto a carrier frequency that transmits the voice signals over a cellnetwork. The voice signals are sent over the wireless cellular networkeither to another phone in the wireless cell network or to another phonein a land-line phone network.

Different coders/decoders (codecs), modulators, vocoders, Automatic GainControllers (AGC), Analog to Digital converters (A/D), noise reductioncircuits, and Digital to Analog converters (D/A) are used in thecellular and landline phone networks. These telephone components canimplement different coding schemes for encoding and decoding the voicesignals.

These telecommunication components are designed to efficiently transmitvoice signals over wireless and landline voice communication channels.For example, a digital vocoder uses predictive coding techniques torepresent the voice signals. These predictive coders filter out noise(non-voice signals) while compressing and estimating, the frequencycomponents of the voice signals before being transmitted over the voicechannel.

A problem arises when voice communication equipment, such as thevocoder, are used for transmitting digital data. The vocoders mayinterpret signals representing digital data as a non-voice signal. Thevocoder might completely filter out or corrupt those digital datasignals. Therefore, digital data can not be reliably transmitted overthe same digital audio channel used for transmitting voice signals.

It is sometimes necessary for a user to transmit both audio signals anddigital data to another location at the same time. For example, when acellular telephone user calls “911” for emergency assistance, the usermay need to send digital location data to a call center while at thesame time verbally explaining the emergency conditions to a humanoperator. It would be desirable to transmit this digital data through acell phone without having to use a separate analog wireless modem.

Accordingly a need exists for transmitting digital data over a voicechannel of a digital wireless communications network.

SUMMARY OF THE INVENTION

An inband signaling modem communicates digital data over a voice channelin a digital wireless telecommunications network. An input receivesdigital data. An encoder converts the digital data into audio tones thatsynthesize frequency characteristics of human speech. The digital datais also encoded to prevent voice encoding circuitry in thetelecommunications network from corrupting the synthesized audio tonesrepresenting the digital data. An output then outputs the synthesizedaudio tones to a voice channel of a digital wireless telecommunicationsnetwork.

The foregoing and other features and advantages of the invention willbecome more readily apparent from the following detailed description ofpreferred embodiments of the invention, which proceeds with reference tothe accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram showing a wireless communications network thatprovides in-band signaling (IRS) according to the invention.

FIG. 2 a detailed diagram of a cellular telephone coupled to an IBSmodem according to one embodiment of the invention.

FIG. 3 is another embodiment of the IBS modem according to theinvention.

FIG. 4 is a detailed diagram of an IBS modem encoder.

FIG. 5 is a schematic diagram of a IBS packet.

FIG. 6 is a schematic diagram of digital data tones output from a IBSmodulator.

FIG. 7 is a diagram showing how digital data is corrupted by anAutomatic Gain Controller.

FIG. 8 is a diagram showing how a digital wireless network can filterout digital data tones.

FIG. 9 is a detailed diagram of receiving circuitry coupled to an IBSmodem decoder.

FIG. 10 is a state diagram for the IBS decoder shown in FIG. 9.

FIG. 11 is a block diagram showing a search state in the IBS decoder.

FIG. 12 is a block diagram showing an active state in the IBS decoder.

FIG. 13 is a block diagram showing a clock recovery state in the IBSdecoder.

FIG. 14 is a schematic diagram of a cellular phone with the IBS modemlocated in a detachable battery pack.

FIG. 15 are schematic diagram showing different data sources coupled toa cellular telephone through a IBS modem.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

Referring to FIG. 1, a wireless communications network 12 includes acell phone 14 that receives voice signals 22 from a user 23. A voicecoder (vocoder) 18 in the cell phone 14 encodes the voice signals 22into encoded digital voice signals 31 that are then transmitted over awireless digital audio channel 34 (cell call). The cell phone 14transmits the encoded voice signals 31 to a cellular communications site(cell site) 36 that relays the cell call to a CellularTelecommunications Switching System (CTSS) 38.

The CTSS 38 either connects the cell call to another cell phone eitherin the wireless cellular network 12, to a landline phone on a PSTNnetwork 42 as a circuit switched call or routes the cell call over apacket switched Internet Protocol (IP) network 46 as a Voice Over IP(VoIP) call. The cell call can also be routed from the PSTN network 42back to the cellular network 12 or from the PSTN network 42 to the IPnetwork 46, or visa versa. The cell call eventually reaches a telephone44 that corresponds with a destination phone number originally enteredat the cell phone 14.

The invention comprises an In-Band Signaling (IBS) modem 28 that enablescell phone 14 to transmit digital data 29 from a data source 30 over thedigital audio channel 34 of the cellular network 12. The IBS modem 28modulates the digital data 29 into synthesized digital data tones 26.The digital data tones 26 prevent the encoding components in thecellular network 12 and landline network 42, such as vocoder 18, fromcorrupting the digital data. The encoding and modulation scheme used inthe IBS modem 28 allows digital data 29 to be transmitted through thesame voice coder 18 used in the cell phone 14 for encoding voice signals22. The IBS modem 28 enables voice signals 22 and digital data 29 to betransmitted over the same digital audio channel using the same cellphone circuitry. This prevents a user from having to transmit digitaldata using a separate wireless modem and enables a cell phone user totalk and send data during the same digital wireless call. The inventionmodulates the digital data 29 into synthesized voice tones. Thisprevents the cell phone vocoder 18 from filtering or corrupting thebinary values associated with the digital data 29. The same cell phonetransceiver and encoding circuitry is used for transmitting andreceiving both voice signals and digital data. This enables the IBSmodem 28 to be much smaller, less complex and more energy efficient thana standalone wireless modem. In some embodiments, the IBS modem 28 isimplemented entirely in software using only the existing hardwarecomponents in the cell phone 14.

One or more servers 40 are located at any of various locations in thewireless network 12, PSTN network 42, or IP network 46. Each server 40includes one or more IBS modems 28 that encode, detect and decode thedigital data 29 transmitted and received over the digital audio channel34. Decoded digital audio tones 26 are either processed at the server 40or routed to another computer, such as computer 50.

Referring to FIG. 2, a first transmitting portion of the IBS modem 28includes an IBS encoder 52 and a Digital to Analog converter (D/A) 54.The IBS encoder 52 is typically implemented using a Digital SignalProcessor (DSP). The data source 30 represents any device that requireswireless transmission or reception of digital data. For example, thedata source 30 can be a laptop computer, a palm computer or a GlobalPositioning System (GPS) (see FIG. 15).

The data source 30 outputs a digital bit stream 29 to the IBS encoder52. The IBS encoder 52 converts the digital data 29 into IBS packetsspecially formatted for transmission over a digital wireless voicechannel. The IBS encoder 52 then converts the bits from the IBS packetsinto digital data tones that are then fed into the D/A converter 54.

The IBS modem 28 outputs binary values that each represent an amplitudeand phase component of an audio tone. The D/A converter 54 convertsthese digital values into analog audio tones 26 that are then output toan auxiliary audio port 15 on the cell phone 14. The analog audio tones26 are then processed by the cell phone 14 in the same manner as thevoice signals 22 (FIG. 1) received through a microphone 17. An Analog toDigital (A/D) converter 16 in the cell phone 14 encodes the synthesizedanalog audio tones 26 into digital values. The vocoder 18 encodes thedigital representations of the synthesized tones 26 into encoded digitaldata 32 and outputs the encoded data to a transceiver 19 that transmitsthe encoded digital data 32 over the digital audio channel 34.

The preferred voltage of the synthesized audio tones 26 output from theD/A converter 54 is around 25 millivolts peak to peak. This voltagelevel was discovered to prevent the audio tones 26 from saturating thevoice channel circuitry in cell phone 14.

Because the digital data 29 is fed through the existing auxiliary handsfree audio port 15 in cell phone 14, the IBS modem 28 can be installedas an after market device that can connect any data source 30 to thecell phone 14. The data source 30 can transmit digital data 29 in anydigital format. For example, the digital data 29 can be sent over anRS-232 interface, Universal Serial Bus (USB) interface, or any otherserial or parallel interface.

FIG. 3 shows an alternative embodiment of the IBS modem 28. The IBSmodem 28 in FIG. 3 is located inside the cell phone 14 and isimplemented in software using the existing cell phone processor or usingsome combination of its own components and the existing cell phonecomponents. In this embodiment, the cell phone 14 may include a dataport 56 that receives the digital data 29 from the external data source30. In an alternative embodiment, the digital data source 30 is internalto the cell phone 14. For example, the data source 30 may be a GlobalPositioning System (GPS) chip that includes a GPS receiver (not shown)for receiving global positioning data from GPS satellites (FIG. 14).

The IBS encoder 52 in FIG. 3 as mentioned above typically implemented insoftware using a DSP and may use the same DSP used for implementing thevocoder 18. The D/A converter 54 outputs the synthesized audio tonesrepresenting digital data 29 to the internal AID converter 16 of thecell phone 14. The IBS encoder 52 in an alternative embodiment, not onlysynthesizes the digital data 29 into audio tones but also quantizes thedigital frequency values in the same manner as the A/D converter 16. TheIBS encoder 52 then outputs the quantized data 55 directly into thevocoder 18. In still another embodiment of the invention, the IBSencoder 52 and D/A converter 54 are implemented entirely in software inthe same DSP that implements the vocoder 18.

The vocoder 18 uses a specific encoding scheme associated with thewireless communications network 12 (FIG. 1). For example, the vocoder 18could be a VCELP encoder that converts voice signals into digital CDMAsignals. The A/D converter 16, D/A converter 54 and transceiver 19 areexisting cell phone components known to those skilled in the art.

It is important to note that the IBS encoder 52 enables the digital data29 to be transmitted using the same cell phone circuitry that transmitsvoice signals. The IBS encoder 52 prevents any signal approximation,quantization, encoding, modulation, etc. performed by the, A/D converter16, vocoder 18, or transceiver 19 from corrupting or filtering any bitsfrom the digital data 29.

FIG. 4 is a detailed diagram of the IBS encoder 52 shown in FIG. 2 andFIG. 3. A data buffer 58 stores the binary bit stream 29 from the datasource 30. A packetizer 60 segments the bits in buffer 58 into bytesthat comprise a IBS packet payload. A packet formatter 62 adds a packetpreamble and postamble that helps prevent corruption of the IBS packetpayload. An IBS modulator 64 then modulates the bits in the ISB packetwith two or more different frequencies 66 and 68 to generate digitaldata tones 69.

Preventing Corruption of Digital Data in Voice Channels

Cell phone voice coders increase bandwidth in voice channels by usingpredictive coding techniques that attempt to describe voice signalswithout having to send all the frequency information associated withhuman speech. If any unnatural frequencies or tones are generated in thevoice channel (i.e., frequencies representing digital data), thosefrequencies might be thrown out by the voice coder 18 (FIG. 2). Forexample, if the amplitude of the digital data tones are greater thanthat of normal voice signals or the same digital data tone is generatedfor too long a time period, the voice coder 18 will filter out that highamplitude or extended frequency signal. Depending on how the digitaldata tones are encoded, the digital bits represented by those unnaturalaudio tones may be partially or entirely removed from the voice channel.

The IBS encoder 52 encodes the digital data 29 to synthesize voicesignals in a manner where voice coders will not filter or corrupt thetones representing digital data. The IBS encoder 52 does this bycontrolling the amplitudes, time periods and patterns of the synthesizedfrequencies used to represent the binary bit values.

Referring to FIG. 5, the packet formatter 62 (FIG. 4) adds a packetpreamble 73 that includes a header 72 and a sync pattern 74 to the frontof a IBS packet 70. A checksum 78 and a packet postamble 79 are attachedto the backend of the IBS packet 70.

Before the digital data is transmitted, a zero payload IBS packet 70 issent to the destination. The destination sends back an acknowledge tothe IBS modem 28 in the form of a zero packet payload IBS packet. Thisacknowledge packet informs the IBS modem 28 in the cell phone 14 tobegin transmitting IBS packets 70.

FIG. 6 shows the synthesized digital data tones 69 output from the IBSmodulator 64 (FIG. 4). The IBS modulator 64 (FIG. 4) converts thedigital bits in the IBS packet 70 into one of two different tones. Afirst tone is generated at an f1 frequency and represents a binary “1”value and a second tone is generated at a f2 frequency and represents abinary “0” value. In one embodiment the f1 frequency is 600 Hertz andthe f2 frequency is 500 Hertz (Hz).

It has been determined that the most effective frequency range forgenerating the tones that represent the binary bit values are somewherebetween 400 Hertz and 1000 Hertz. The IBS modulator 64 includes Sine andCosine tables that are used to generate the digital values thatrepresent the different amplitude and phase values for the f1 and f2frequencies.

In one embodiment of the invention, the digital data is output on theaudio channel 34 at a baud rate of 100 bits/second. This baud rate hasbeen found to be effective in preventing corruption of the digital audiodata by a wide variety of different cellular telephone voice coders. Thesine waves for each f1 and f2 tone begin and end at a zero amplitudepoint and continue for a duration of 10 milliseconds. Eighty samples aregenerated for each digital data tone.

Referring to FIG. 7, an Automatic Gain Controller (AGC) 80 is oneencoding function used in the cell phone 14. The AGC 80 may be softwarethat is located in the same DSP that implements the voice coder 18. TheAGC 80 scales instantaneous energy changes in voice signals. There aresituations when no voice signals have been fed into the AGC 80 for aperiod of time followed by a series of audio tones 82. that comprise thebeginning of a IBS packet 70. The AGC 80 scales the first group of tones82 at the beginning of the IBS packet 70. The AGC 80 also looks ahead atthe zero signal levels 84 after the end of the IBS packet 70, and willscale the tones 83 at the end of the MS packet 70 as part of itsprediction scaling scheme. This scaling prevents the over amplificationof signal or noise when instantaneous energy changes occur in the voicechannel.

As previously shown in FIG. 6, the “1” and “0” bits of the IBS packet 70are represented by tones f1 and f2, respectively. If these tones arescaled by the AGC 80, the digital bits represented by those frequenciesmight be dropped during encoding. For example, the vocoder 18 may seethe scaled tones as noise and filter them from the audio channel. Toprevent the unintentional filtering of tones that represent digitaldata, the IBS packet 70 in FIG. 5 includes preamble bits 73 andpostamble bits 79. The preamble bits 73 and 79 do not contain any of thedigital data bits 29 from the data source include a certain number ofsacrificial bit that are not needed for detecting or encoding the MSpacket 70. Thus, the tones that are generated for these sacrificial bitsin the preamble and postamble can be scaled or filtered by the AGC 80without effecting any of the digital data contained in the IBS packetpayload 76.

The bit pattern in the header 72 and sync pattern 74 are specificallyformatted to further prevent corruption of the packet payload 76. Arandom sequence and/or an alternating “1”—“0” sequence of bits is usedin either the header 72 and/or sync pattern 74. These alternating orrandom bit patterns prevent adaptive filters in the cell phone vocoder18 (FIG. 2) from filtering tones representing the remaking bits in theIBS packet 70.

Referring to FIG. 8, adaptive filters adapt around the frequencies thatare currently being transmitted over the wireless network. For example,If a long period of the same f1 tone is currently being transmitted, anadaptive filter used in the cell phone may adapt around that f1frequency spectrum as shown by filter 86.

Another short tone at another frequency f2 may immediately follow thelong period of f1 tones. If the filter 86 is too slow to adapt, thefirst few f2 tones may be filtered from the voice channel. If thefiltered f2 tone represent bits in the IBS bit stream, those bits arelost.

To prevent adaptive filters in the cell phone from dropping bits, someportion of the preamble 73 includes a random or alternating “1”—“0” bitpattern. This preconditions the adaptive filter as shown by filter 88.The preamble 73 tries to include a portion of the same bit sequence thatis likely or does occur in the packet payload 76. For example, the IBSencoder 52 can look ahead at the bit pattern in the payload 76. Theencoder 52 can then place a subset of bits in a portion of the preambleto represent the sequence of bits in the packet payload.

This preconditions the adaptive filter for the same f1 and f2frequencies, in the same duration and in a similar sequence that islikely to follow in the IBS packet payload 76. Thus, the adaptive filteradapts is less likely to filter out the tones that actually representthe digital data that is being transmitted.

FIG. 9 is a block diagram of receive circuitry 91 that receives thevoice and data signals in the audio channel 34. The IBS modem 28 alsoincludes an IBS decoder 98 the detects and decodes the digital datatones transmitted in the audio channel 34. The receive circuitry 91 islocated at the CTSS 38 (FIG. 1) that receives wireless transmissionsfrom the cell sites 36 (FIG. 1). The same receive circuitry 91 is alsobe located in the cell phone 14.

As described above in FIGS. 2 and 3, the decoder part of the IBS modem28 can be external to the cell phone 14 or can be inside the cell phone14. Dashed line 104 shows an IBS modem 28 external to a cell phone anddashed line 106 shows an internal IBS modem 28 internal to a cell phone.IBS modems 28 can also be located at any telephone location in the PSTNnetwork 42 or IP network 46 (FIG. 1). The receiving circuitry 91 may bedifferent when the IBS modem 28 is coupled to a landline. However, theIBS modem 28 operates under the same principle by transmitting andreceiving synthesized tones over the voice channel of the phone line.

The signals in audio channel 34 are received by a transceiver 90. Avocoder 92 decodes the received signals. For example, the vocoder 92 maydecode signals transmitted in TDMA, CDMA, AMPS, etc. A D/A converter 94then converts the digital voice signals into analog signals. The analogvoice signals are then output from an audio speaker 17.

If the IBS modem 28 is external to the receiving circuitry 91, then aA/D converter 96 converts the analog signals back into digital signals.The IBS decoder 98 demodulates any tones representing digital data backinto a digital IBS packets. A packet disassembler 100 disassembles thepacket payload from the IBS packets 70 and stores the original digitaldata pattern in a data buffer 102.

FIG. 10 is a state diagram explaining how the IBS decoder 98 in FIG. 9operates. The IBS decoder 98 repeatedly samples and decodes the audiosignals received from the audio channel 34. State 110 searches for tonesin the audio signal that represent digital data. If the Signal to NoiseRatio (SNR), for tones within the frequency range of the digital datatones, are greater than a preselected value, the IBS decoder 98 goesinto an active state 112. The active state 112 collects tone samples. Ifat any time during the active state 112, the SNR falls below an activethreshold value, or a timeout is reached before enough tone samples arecollected, the IBS decoder 98 returns to the search state 110 and beginsagain to search for digital data tones.

After a number of samples are collected, the IBS decoder 98 looks forbits that identify the preamble 73 in the IBS packet 70 (FIG. 5). If thepreamble 73 is detected, the IBS decoder 98 moves to clock recoverystate 114. The clock recovery state 114 synchronizes with thesynchronization pattern 74 in the IBS packet 70 (FIG. 5). The IBSdecoder 98 then demodulates the packet payload 76 in state 116. If thepreamble 73 is not found, IBS decoder 98 goes back to the search state110 and starts searching again for the beginning of an IBS packet 70.

The IBS decoder 98 demodulates all of the packet payload 76 and thenperforms a checksum 78 as a final verification that a valid IBS packet70 has been successfully demodulated. Control then returns back to thesearch state 110 and begins searching for the next IBS packet 70.

FIG. 11 is a detailed diagram for the search state 110 of the IBSdecoder 98. The search state 110 uses in band and out of band filtering.“In band” is used in the following discussion to refer to tones withinthe frequency range of the two tones that represent the digital databinary “1” value (500 Hz) and the digital data binary “0” value (600Hz).

A first band pass filter 118 (in band) measures energy for signals inthe audio channel within the frequency range of about 400 Hz to around700 Hz. A second band pass filter 120 (out of band) measures the energyin the audio channel for signals outside of the 400 Hz–700 Hz range. ASignal to Noise Ratio (SNR) is calculated in block 122 between the inband energy and the out of band energy. If tones representing thedigital data exist in the audio channel, the energy measured by the inband filter 118 will be much greater then the energy measured by the outof band filter 120.

If the SNR is below a selected threshold in comparator box 124, signalsin the audio channel are determined to be actual voice signals or noise.If the SNR is above the threshold, the IBS decoder 98 determines thetones represent in band digital data. When digital data is detected, theIBS decoder 98 moves into the active state 112 to begin searching forthe beginning of an IBS packet 70.

FIG. 12 shows the active state 112 for the IBS decoder 98. Block 130 isnotified by the search state 110 when an in band tone is detected in theaudio channel. Samples of the audio tones are windowed in block 132 witha number of samples associated with a single binary bit. In oneembodiment, 80 samples of the digital data tone are taken, padded withzeros, and then correlated with Discrete Fourier Transforms (DFTs).

A first DFT has coefficients representing a 500 Hz tone and is appliedto the windowed data in block 134. The first DFT generates a highcorrelation value if the samples contain a 500 Hz tone (“0” binary bitvalue). A second DFT represents a 600 Hz tone and is applied to thewindowed samples in block 136. The second DFT generates a highcorrelation value if the windowed samples contain a 600 Hz tone (“1”binary bit value). Block 138 selects either a binary “0” or binary “1”bit value for the windowed data depending on which of the 500 Hz DCT or600 Hz DCT yields the largest correlation value.

The IBS decoder 98 in decision block 140 continues to demodulate thetones until the preamble of the IBS packet 70 has been detected. The IBSdecoder 98 then moves to clock recovery state 114 (FIG. 13) tosynchronize with the sync pattern 74 in the IBS packet 70 (FIG. 5). Ifmore bits need to be demodulated before the preamble 73 can be verified,decision block 140 returns to block 132 and the next 80 samples of thedigital data tones are windowed and demodulated.

FIG. 13 describes the clock recovery state 114 for the IBS decoder 98.After the preamble 73 in the IBS packet 70 is detected in the activestate 112, the clock recovery state 114 demodulates the next string ofbits associated with the sync pattern 74 (FIG. 5). The clock recoverystate 114 aligns the tone samples with the center of the correlationfilters described in the active state 112. This improves decoderaccuracy when demodulating the IBS packet payload 76.

Decision block 142 looks for the sync pattern 74 in the IBS packet 70.If after demodulating the next tone, the sync pattern 74 is not found,decision block 142 offsets the window used for sampling the sync pattern74 by one sample in block 148. Decision block 150 then rechecks for thesync pattern 74. If the sync pattern 74 is found, decision block 144determines the power ratio for the detected sync pattern. This powerratio represents a confidence factor of how well the demodulator issynchronized with the sync pattern. The power ratio is compared with thepower ratios derived for different window shifted sampling positions. Ifthe power ratio is greater then a previous sampling position, then thatpower ratio is saved as the new maximum power ratio in block 146.

If the power ratio for the sync pattern 74 is less then the previouslymeasured power ratio, the decoder in block 148 offsets the samplingwindow by one sample position. The power ratio is then determined forthe shifted window and then compared to the current maximum power ratioin decision block 144. The window is shifted until the maximum powerratio is found for the sync pattern 74. The window offset value at themaximum power ratio is used to align the demodulator correlation filterswith the center sample of the first bit 77 (FIG. 5) in the IBS packetpayload 76.

The IBS decoder 98 then jumps to demodulate state 116 (FIG. 10) wherethe identified window offset is used to demodulate the remaining 500 and600 Hz tones that represent the packet payload bits 76 and check sumbits 78. The demodulation state 116 correlates the f1 and f2 tones withDFTs in the same manner as in the active state (FIG. 12). The check sumbits 78 are then used as a final check to verify that a valid IBS packethas been received and accurately decoded.

FIG. 14 is a diagram of the IBS modem 28 located in a battery packconnected to the cellular telephone 14. A hands free audio channel pin200 couples the IBS modem 28 to the voice channel 202 in the cell phone14. A switch 204 couples either voice signals from the microphone 17 ordigital data tones from the IBS modem 28 to the voice channel 202.

The switch 204 is controlled either through a menu on a screen (notshown) in the cell phone 14 or by a button 206 that extends out of theback end of the battery pack 208. The switch 204 can also be controlledby one of the keys on the keyboard of the cell phone 14.

The button 206 can also be used to initiate other functions providedthrough the IBS modem 28. For example, a Global Positioning System (GPS)includes a GPS receiver 210 located in the battery pack 208. The GPSreceiver 210 receives GPS data from a GPS satellite 212. A cell phoneoperator simply pushes button 206 during an emergency situation.Pressing the button 206 automatically enables the GPS receiver 210 tocollect GPS data from GPS satellite 212. At the same time, the switch204 connects IS modem 28 on the voice channel 202 of the cell phone 14.The IBS modem 28 is then activated. As soon as the GPS data is collectedin the IBS modem 28, the data is formatted, encoded and output by IBSmodem 28 to the voice channel 202 of the cell phone 14.

The user 23 can push the button 206 anytime after manually calling up aphone number. After the audio channel is established with anotherendpoint, the user 23 pushes button 206. Switch 204 is connected to theIBS modem 28 and the IBS modem 28 is activated. The GPS data (or otherdigital source) is then sent as digital data tones through the IBS modem28 to an endpoint over the established audio channel. After the data hasbeen successfully transmitted, the user presses button 206 againreconnect switch 204 to the audio receiver 17.

FIG. 15 shows the different types of data sources that can be connectedto the IBS modem 28. Any one of a palm computer 212, GPS receiver 214 ora laptop computer 216, etc. can are coupled to the IBS modem 28. The IBSmodem 28 converts the bits output from the device into digital datatones that are then output over the audio channel 34 in the wirelessnetwork. Because data can be transmitted to another endpoint through thecell phone 14, none of the devices 212, 214 or 216 need a separatewireless modem.

It will be obvious to those having skill in the art that many changesmay be made to the details of the above-described embodiments of thisinvention without departing from the underlying principles thereof. Thescope of the present invention should, therefore, be determined only bythe following claims.

1. Software code stored on computer-readable memory and executable on aprocessor for communicating digital data over a voice channel of adigital wireless telecommunications network comprising: code for formingthe digital data into a packet payload in an inband signaling packet;code for attaching preconditioning bits to the inband signaling packetthat prevent circuitry in the wireless telecommunications network fromcorrupting the digital data; code for converting the bits in the inbandsignaling packet into a series of voice frequency tones that simulatecharacteristics of human speech; and code for converting the simulatedvoice frequency tones into encoded data transmitted over the digitalvoice channel of a wireless telecommunications network.
 2. The softwarecode according to claim 1 including code for generating a sequence ofbits in a preamble of the inband signaling packet wherein the sequenceof bits include alternating or random bit patterns selected to preventfiltering tones representing digital data in the packet payload.
 3. Thesoftware code according to claim 1 including code that converts thevoice frequency tones into analog signals before sending the synthesizedvoice signals to a voice coder for transmission over the wiretelecommunications network.